import { request } from '../../utils/request'
import { timestampToTime } from '../../utils/util'

Page({
  /**
   * 页面的初始数据
   */
  data: {
    dateList: [],
    shareList: [
      {
        label: '生成海报',
        key: '生成海报'
      }
    ],
    selectDate: '',
    selectDateLabel: '',
    rankingDetail: {},
    rankingId: ''
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.setData({
      rankingId: options.id
    })
    this.getRankingDetail()
    wx.showShareMenu({
      menus: ['shareAppMessage', 'shareTimeline'], // 需要显示的转发按钮名称列表.合法值包含 "shareAppMessage"、"shareTimeline"
      success(res) {
        console.log(res)
      },
      fail(e) {
        console.log(e)
      }
    })
  },

  // 好友
  onShareAppMessage() {
    return {
      title: '邀请您使用有趣居民小程序', // 分享出的卡片标题
      path:
        '/packagePlan/rankingDetail/rankingDetail?id=' +
        this.data.rankingId, // 他人通过卡片进入小程序的路径，可以在后面拼接URL的形式带参数
      imageUrl: this.data.rankingDetail.themeImage // 分享出去的图片，默认为当前页面的截图。图片路径可以是本地文件路径或者网络图片路径。支持PNG及JPG。
    }
  },
  // 朋友圈
  onShareTimeline() {
    return {
      title: '邀请您使用有趣居民小程序', // 分享出的卡片标题
      path:
        '/packagePlan/rankingDetail/rankingDetail?id=' +
        this.data.rankingId, // 他人通过卡片进入小程序的路径，可以在后面拼接URL的形式带参数
      imageUrl: this.data.rankingDetail.themeImage // 分享出去的图片，默认为当前页面的截图。图片路径可以是本地文件路径或者网络图片路径。支持PNG及JPG。
    }
  },

  selectDateConfirm({ detail }) {
    this.setData({
      selectDate: detail.selectItem,
      selectDateLabel: detail.selectLabel
    })
  },

  share({ detail }) {
    if (detail.selectItem == '生成海报') {
      let data = {
        img: this.data.rankingDetail.themeImage,
        name: this.data.rankingDetail.name,
        address: this.data.rankingDetail
          .activitySessions[0].activityStartTime,
        date: this.data.rankingDetail.introduction
      }
      wx.navigateTo({
        url:
          '/packagePlan/share/share?data=' +
          JSON.stringify(data)
      })
    }
  },

  privateChat({ detail }) {
    console.log(detail)
  },

  toNameList() {
    wx.navigateTo({
      url:
        '/packageSquare/nameList/nameList?list=' +
        JSON.stringify(
          this.data.rankingDetail.joinUsers
        )
    })
  },

  signNow() {
    if (this.data.selectDate.length <= 0) {
      wx.showToast({
        title: '请先选择时间',
        icon: 'none'
      })
      return
    }
    wx.navigateTo({
      url:
        '/packageSquare/signRanking/signRanking?date=' +
        this.data.selectDate +
        '&dateLabel=' +
        this.data.selectDateLabel +
        '&detail=' +
        JSON.stringify(this.data.rankingDetail)
    })
  },

  getRankingDetail() {
    request({
      url: '/mini/api/square/matchDetail',
      method: 'POST',
      data: {
        id: Number(this.data.rankingId)
      }
    }).then((resdata) => {
      if (resdata.code == 200) {
        this.setData({
          rankingDetail: resdata.data
        })
        let timeList = []
        resdata.data.activitySessions.forEach(
          (item) => {
            timeList.push({
              key: item.id,
              label:
                timestampToTime(
                  new Date(
                    item.activityStartTime.replace(
                      /-/g,
                      '/'
                    )
                  ),
                  'm+d+h+f'
                ) +
                ' - ' +
                timestampToTime(
                  new Date(
                    item.activityEndTime.replace(
                      /-/g,
                      '/'
                    )
                  ),
                  'm+d+h+f'
                )
            })
            this.setData({
              dateList: timeList
            })
          }
        )
      } else {
        wx.showToast({
          title: resdata.message,
          icon: 'none'
        })
      }
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {},

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {},

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {},

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {},

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {},

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {},

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {}
})
